﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;

namespace MINERP.COM
{
    public enum FactoryGridStatus
    {
        FactoryDoing,//拆分完成
        InFactoryGrid,//放入格子
        Completed//合册完成
    }
    public enum MsgType
    {
        [Description("信息")]
        Msg = 0,
        [Description("错误")]
        Error = 1
    }
    public enum Direction
    {
        [Description("横方向")]
        Horizontal = 0,
        [Description("竖方向")]
        Vertical = 1
    }

    [Flags]
    public enum FootLineDirection
    {
        [Description("左上")]

        LeftTop = 1,
        [Description("右上")]
        RightTop = 2,
        [Description("左下")]
        LeftBottom = 4,
        [Description("右下")]
        RightBottom = 8,
        [Description("中线")]
        MiddleBoth = 16,
        [Description("全部")]
        FixedPoint = LeftTop | RightTop | LeftBottom | RightBottom
    }
    public enum LocalDirection
    {
        [Description("上")]
        Top = 0,
        [Description("下")]
        Bottom = 1,
        [Description("左")]
        Left = 2,
        [Description("右")]
        Right = 3,
        [Description("无")]
        None = 4,
    }
    public enum PhotoBarCodeLocal
    {
        Left = 0,
        Right = 1,
        Top = 2,
        Bottom = 3
    }
    /// <summary>
    /// 帐户报警信息的类型
    /// </summary>
    public enum AccountAlarmStatus
    {
        UnReaded,//未阅读
        Readed//已阅读
    }
    /// <summary>
    /// 流程状态
    /// </summary>
    public enum OrderFlowListStatus
    {
        Wait = 0,               //等待
        Useable = 1,            //可操作，但没有被组员接收
        UseableAccept = 2,        //可操作，组员已接收
        Error = 3,              //异常
        Complete = 4,            //已完成
        Disable = 5,              //不可用，如果有新的设计的图片导入时，则旧的图片的状态则变为不可用
        UnProduct               //暂停生产
    }
    public enum OrderInfoStatus
    {
        WaitCheck = 0,          //0开始--等待审核（如：计算总价等操作）
        Doing,                  //1正在生产中(特指分片之前的操作)
        Error,                  //2异常
        FenPianCompleted,       //3分片完成(删除)//将要委外
        OutProcess,             //4外加工中...(删除)
        Received,               //5已收件(删除)
        OverOrder,              //6结单(删除)
        Stop,                   //7客服停止生产
        Completed,              //8完成
        NoCheckCount,           //9余额不足
        WaitPhotoMove,          //10等待照片移动
        AutoStartOrder,         //11自动开单
        Deleted,                 //12已删除
        WaitPay,                 //13等待付钱
        WaitPayAndWaitMovePhoto, //14等待付钱和等待移动照片
        AutoOrderWait          //15远程开单审核
    }

    public enum OrderBagStatus
    {
        Doing,                  //正在进行中
        UnComplete,             //未完成
        Eroor,                  //异常
        Completed,              //完成
        Fetched,                //已结单
        ProductStop,            //订单中有产品取消生产
        OrderBagStop,           //所有订单取消
        WaitPhotoMove,          //7等待照片移动
        Deleted,                //订单已被删除
        AutoStartOrder,          //9自动开单
        WaitPay                 //等待付款
    }

    public enum OutProcessRecordStatus
    {

        Outing,                 //正在外加工中
        Fetched,                //已收件,已在格子中
        OutWaitFenDui,          //分配给委外厂等待放进格子
        InGrid                  //放在格子中
    }
    public enum OutProcessRecordStatus2
    {
        Wait,                  //等待
        Doing,                 //正在做
        Error,                //有错误
        Complete              //完成

    }
    //图片的条码信息0-条码在图片的左边或是右边，1-条码在图片的上面或是下面，2-无条码
    public enum PhotoBarCodeStatus
    {
        RightOrLeft,
        TopOrBottom,
        NoBarCode
 
    }
    public enum PhotoStatus
    {
        NoDistributePrinter,    //未分配打印机0
        DistributedPrinter,     //已分配打印机1
        PingBan,                //已拼板2
        Printed,                //已打印3
        FenPian,                //分片完成4
        WaitPhotoMove,          //5照片等待移动5   
        PhotoNotExist,          //6照片不存在6
        PhotoBingFa,            //7照片的并发状态7
        PhotoInnerReturn,       //照片内部返单中8
        DesignDelete,           //设计删除9
        PingBanInd,             //正在拼版中,暂被拼版软件占用10
        AutoStartOrder,         //11自动开单11
        OrderDeleted,            //订单已删除12
        StatBoardEffectArea     //已统计过大板的有效面积13
    }
    public enum PhotoStatus2
    {
        normal,            //正常
        advance,          //清格子用
        innerReturn       //内部反单用
    }
    /// <summary>
    /// 产品状态
    /// </summary>
    public enum ProductStatus
    {
        Delete,             //删除状态
        Normal              //正常状态
    }
    public enum OrderBagType
    {
        normal,                  //正常
        Reback,                   //返单
        RemoteOrder//远程自动下单
    }

    /// <summary>
    /// 表GridSubArea表里的TYPE字段
    /// </summary>
    public enum SubAreaType
    {
        /// <summary>
        /// 照片分堆的分区
        /// </summary>
        Photo,
        /// <summary>
        /// 委外厂商分堆的分区
        /// </summary>
        OutShop,
        /// <summary>
        /// 结单时商户分堆
        /// </summary>
        Shop,
        /// <summary>
        /// 工厂合册时用的格子
        /// </summary>
        FactorySubOrder,
        /// <summary>
        /// 内部返单暂存区
        /// </summary>
        InnerReturn
    }

    public enum SubAreaStatus//分区的状态
    {
        Useable,// 可以使用
        Using,// 正在被使用
        Delete//已删除
    }

    /// <summary>
    /// 所有格子的程序内部状态，与数据库中表Grid中的status字段不同，这里的状态主要用来标识此格子是否超时，格子里存放的产品数与数据库中分配的产品数是否相等
    /// </summary>
    public enum TempGridStatus
    {
        /// <summary>
        /// 正常
        /// </summary>
        normal,
        /// <summary>
        /// 超时
        /// </summary>
        OutTime,
        /// <summary>
        /// 数量相等
        /// </summary>
        NumMatch
    }

    /// <summary>
    /// 对应数据库中TB_OutShopGrid表的status字段(删除)
    /// </summary>
    public enum TB_OutShopGrid_Status
    {
        /// <summary>
        /// 可放新委外商户的产品
        /// </summary>
        useAble,
        /// <summary>
        /// 正在被某商户占用
        /// </summary>
        use
    }

    /// <summary>
    /// 打印机的状态（指被输出管理是否占用）
    /// </summary>
    public enum PrinterStatus
    {
        Idle = 0,            //空闲
        Distred = 1          //已被分配
    }
    /// <summary>
    /// 打印机状态3(在分配打印机那里，指打印机是否可接收分配的照片)
    /// </summary>
    public enum PrinterStatus3
    {
        disable,                //0不可用
        able                    //1可用
    }


    /// <summary>
    /// 大板的状态
    /// </summary>
    public enum EnumBoardStatus
    {
        WaitingPrint = 0,    //未打印
        Printing = 1,        //正在打印
        Printed = 2,         //已打印
        waitProduct,         //拼板完成，等待生成大图（生成大图用）
        ProductIng,          //正在生成大图（生成大图用）
        Error,               //error
        Pause,               //暂停
        NotFindBigPic,       //没有找到大图
        WaitEncrypt,          //等待加密
        WaitSure             //等待确定要输出用于自动拼版
    }


    public enum GridStatus
    {
        /// <summary>
        /// 可使用
        /// </summary>
        useAble,
        /// <summary>
        /// 正被使用
        /// </summary>
        use
    }
    /// <summary>
    /// 节点类型
    /// </summary>
    public enum TechType
    {
        /// <summary>
        /// 系统节点
        /// </summary>
        system,
        /// <summary>
        /// 实物操作节点
        /// </summary>
        existence,
        /// <summary>
        /// 非实物操作节点
        /// </summary>
        nonexistence,
        /// <summary>
        /// 拼版打印
        /// </summary>
        print,
        OutProduct,//4委外加工
        PrintBill,//5理件分堆
        TiaoSe,//此处就是处理多份的地方
        FenPian,//7条码分片
        KuoYin,//8扩印
        ProductCondition,//9生成Condition文件
        DigitalOutput,//10打印管理
        Factory, //11相册厂
        GroupSample,//看样
        ExportPhoto,//导出照片
        OutProcessPhoto,//外加工照片
        HeBing

    }

    /// <summary>
    /// 格子分配记录表的状态
    /// </summary>
    public enum GridRecordStatus
    {
        CurrentRecod,//正在分堆的记录
        HistoryRecord//历史记录
    }

    public enum ShopBillStatus
    {
        UnCheckOut,//还未结单
        CheckedOut,//已结单
        Diverted,//转移走掉的账单
        Delete
    }

    //打印纸表状态
    public enum PaperInfoStatus
    {
        New,//停用
        Using,//正在使用中
        Used, //使用过
        Complete//删除
    }

    /// <summary>
    /// 生产定单的类型
    /// </summary>
    public enum OrderInfoType
    {
        Normal,
        InnerReturn,///内部返工产品
        OutReturnInfo///外部外工单
    }

    /// <summary>
    /// 生产产品的类型与TB_ProductType中的CODE一致
    /// </summary>
    public enum OrderInfoProductType    
    {
        NoPhotoProduct = 0,//没有照片的产品 
        NeedDesignProduct=1,//需要设计的产品，开单时不可输入尺寸，可以输入P数
        NoNeedDesignProduct = 2,//不需要设计的产品，做相册,开单时检查尺寸
        NeedDesignPrint=3,//需要设计的直出，开单时可输入尺寸，可输入P数
        NoNeedDesignPrint=4,//不需要设计的直出，开单时不需输入尺寸，不需输入P数
        NeedDesignKuoYin = 5,//需要设计的扩印，开单时可输入尺寸，可输入P数
        NoNeedDesignKuoYin = 6,//不需要设计的直扩印，开单时不许输入尺寸，不许输入P数
    }

    public enum InnerReturnOrderStatus
    {
        Use,
        Complete///完成
    }

    /// <summary>
    /// 对商户帐户金额的各种操作类型
    /// </summary>
    public enum CountOperationType
    {
        ChongZhi, //充值
        DiChong,  //抵冲账单
        QingLing,  //清零
        EditBill  //编辑账单
    }

    public enum Bill_Detail_Detail_Type
    {
        UnNeedStatArea,//不需要统计面积
        NeedStatArea,//需要统计面积,可以用来判断是否为输出类型
        Design//设计类收费
    }
    public enum SMSendStatus
    {
        waitSend, //正常产生
        Sended,//回复
        Error//错误


    }
    public enum SMReceiveStatus
    {
        waitReceive,//等待回复
        Received//已经回复
    }
    public enum CheckOutType
    {
        PrePay,//预付款
        CreditLimit,//信用额度
        CheckOutNow,//现结
        DateTimeCheckOut,//结账日期
        CreditLimitAndDateTime,//信用额度与结账日期
        FirstCheckOut,//先结
        DelegateCheckOut//代收
    }

    /// <summary>
    /// 所有废纸的类型
    /// </summary>
    public enum WastePaperOperationType
    {
        zhitou,//换纸产生纸头
        zhiwei,//纸尾
        kazhi,//卡纸
        fandan //返单
    }
    public enum OutProcessProductStatus
    {
        Outting,//0委外生产中
        Received,//1分堆收货
        Complete//2完成收货

    }
    public enum OutProcessPayStatus
    {
        UnPay,//0未付款
        Part,//1部分付款
        Complete//2完全付款
    }

    public enum ProductType
    {
        Normal,
        InnerReturn///内部返工产品
    }
    /// <summary>
    /// 
    /// </summary>
    public enum EnumShopProductStatus
    {
        add = 0,            //要添加的产品
        update = 1,         //要更新的产品
        delete = 2,         //要删除的产品
        unChange = 3         //没有改变状态
    }

    /// <summary>
    /// 
    /// </summary>
    public enum DBAccessType
    {
        add,              //添加数据
        update,           //更新数据
        delete            //删除数据 
    }

    public enum WasterPaperStatus
    {
        unSure,//未确认
        Sure//确认
    }

    public enum DeliveryStatus
    {
        NoPrint,                        //0未打印
        Printed,                        //1已打印
        Deliverred,                     //2已发送
    }
    public enum ReturnPackageStatus
    {
        NotFetch,                       //0未取件
        Fetched                         //1已取件
    }
    public enum ReturnOrderInfoStatus
    {
        NotFetch,                       //0未取件
        Fetched,                        //1已取件
        Disposed                        //2已处理
    }
    /// <summary>
    /// 打印机类型
    /// </summary>
    public enum PrinterType
    {
        Xray =1,    //激光打印机（宝丽，泰蓝）
        Enlarge =2, //扩印机（Frontier）
        PDF=3 ,      //文印机
        Inkjet=4//喷绘
    }
    /// <summary>
    /// 节点的类型，主要用于控制在某结点结束时做一起特殊的处理，比如实物与非实物交接片需要处理份数的问题
    /// </summary>
    //public enum TechType
    //{
    //    Start,//开始结点
    //    FenPian,//条码分片
    //    UnPhysicals,//非实物
    //    OutPut,//3输出管理
    //    OutProduct,//4委外加工
    //    PrintBill,//5理件分堆
    //    TiaoSe,//此处就是处理多份的地方
    //}
     
/// <summary>
/// 标志分堆的格子中是按客人分还是按商户分，注意 只有在分堆的格子中才用到
/// </summary>
    public enum GridType
    {
        Shop,                       //0商户的格子
        Custom                       //1客人的格子
       
    }
    public enum OrderFileStatus
    {
        Created,//创建成功
        CreateErr,//创建文件时出错
        Corrented,//修正后
        Printed//打印完成
    }
    public enum ShippingCompanyStatus
    {
        delete,//删除
        Normal//正常
        
    }
    public enum orderinfoPerBill
    {
        UnPrint,//未打印
        Printed//已打印
    }
    public enum DisType
    {
        [Description("产品条码")]
        Msg = 0,
        [Description("照片条码")]
        Error = 1
    }
}
